package com.ruoyi.order.domain;

import java.math.BigDecimal;
import java.time.ZonedDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.time.LocalDateTime;

/**
 * 订单管理对象 sales_order
 * 
 * @author lzp
 * @date 2024-12-29
 */
public class SalesOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderId;

    @Excel(name = "地址编号")
    private String addressId;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderStatus;

    /** 订单日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String orderDate;

    /** 修改日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime modifiedDate;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 客户编号 */
    @Excel(name = "客户编号")
    private String customerId;

    /** 关联编号 */
    @Excel(name = "关联编号")
    private String referenceId;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private String paymentMethod;

    /** 订单总价 */
    @Excel(name = "订单总价")
    private BigDecimal orderTotal;

    /** 发票信息 */
    @Excel(name = "发票信息")
    private String invoiceInfo;

    /** 最后修改日期 */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后修改日期", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime lastModifiedDate;

    /** 修改人 */
    @Excel(name = "修改人")
    private String lastModifiedBy;

    /** 备注 */
    @Excel(name = "备注")
    private String note;


    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setOrderStatus(String orderStatus) 
    {
        this.orderStatus = orderStatus;
    }

    public String getOrderStatus() 
    {
        return orderStatus;
    }
    public void setOrderDate(String orderDate)
    {
        this.orderDate = orderDate;
    }

    public String getOrderDate()
    {
        return orderDate;
    }
    public void setModifiedDate(LocalDateTime modifiedDate)
    {
        this.modifiedDate = modifiedDate;
    }

    public LocalDateTime getModifiedDate()
    {
        return modifiedDate;
    }
    public void setBusinessType(String businessType) 
    {
        this.businessType = businessType;
    }

    public String getBusinessType() 
    {
        return businessType;
    }
    public void setCustomerId(String customerId)
    {
        this.customerId = customerId;
    }

    public String getCustomerId()
    {
        return customerId;
    }
    public void setReferenceId(String referenceId)
    {
        this.referenceId = referenceId;
    }

    public String getReferenceId()
    {
        return referenceId;
    }
    public void setPaymentMethod(String paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod() 
    {
        return paymentMethod;
    }
    public void setOrderTotal(BigDecimal orderTotal) 
    {
        this.orderTotal = orderTotal;
    }

    public BigDecimal getOrderTotal() 
    {
        return orderTotal;
    }
    public void setInvoiceInfo(String invoiceInfo) 
    {
        this.invoiceInfo = invoiceInfo;
    }

    public String getInvoiceInfo() 
    {
        return invoiceInfo;
    }
    public void setLastModifiedDate(LocalDateTime lastModifiedDate)
    {
        this.lastModifiedDate = lastModifiedDate;
    }

    public LocalDateTime getLastModifiedDate()
    {
        return lastModifiedDate;
    }
    public void setLastModifiedBy(String lastModifiedBy) 
    {
        this.lastModifiedBy = lastModifiedBy;
    }

    public String getLastModifiedBy() 
    {
        return lastModifiedBy;
    }
    public void setNote(String note) 
    {
        this.note = note;
    }

    public String getNote() 
    {
        return note;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderStatus", getOrderStatus())
            .append("orderDate", getOrderDate())
            .append("modifiedDate", getModifiedDate())
            .append("businessType", getBusinessType())
            .append("customerId", getCustomerId())
            .append("referenceId", getReferenceId())
            .append("paymentMethod", getPaymentMethod())
            .append("orderTotal", getOrderTotal())
            .append("invoiceInfo", getInvoiceInfo())
            .append("lastModifiedDate", getLastModifiedDate())
            .append("lastModifiedBy", getLastModifiedBy())
            .append("note", getNote())
            .toString();
    }

    public String getAddressId() {
        return addressId;
    }

    public void setAddressId(String addressId) {
        this.addressId = addressId;
    }
}
